package com.burgeon.backend.service;


import com.burgeon.backend.SHOP.entity.recharge.ResultRecharge;
import com.burgeon.backend.entity.*;
import com.burgeon.backend.service.ex.ErrorDataException;
import com.burgeon.backend.service.ex.RepetitionException;

import java.util.List;

public interface MessageTemplateService {


    void vipUpgrade(String openid,String code,String time,String oldType,String newType,String account);



    void ReviewsExist(String rcode,String account) throws RepetitionException;//判断重复

    //消费提醒
    void SendMessageForExpenditure(String account, RetailData retailData) throws ErrorDataException;

    void SendMessageForConsumption(String account, String openid,String code,String phone,String date) throws ErrorDataException;

    void SendMessageForRecharge(String account, RechargeData data) throws ErrorDataException;
    //发送小程序充值提醒
    void SendMessageForAppRecharge(String account, ResultRecharge data) throws ErrorDataException;

    void SendMessageForNewUser(String token, String openid,String phone,String integral, String name) throws ErrorDataException;

    void SendMessageForCoupon(String account, String phone, String code, String price,String discount,String type) throws ErrorDataException;

    Coupon GenCouponItem(String account,String code);

    Template GetTemplate(String account);

    void UpDataTemplate(Template template);

    void CreateConsumptionBos(Reviews reviews,String account) throws ErrorDataException;
    /**推荐新用户送积分*/
    void SendMessageForRecommend(String token, String openid,String phone,String integral, String name) throws ErrorDataException;
    /**发送活动内容*/
    void SendMessageForActivity(String account,String openid, String templateId,String first,String keyword1, String keyword2, String keyword3,String keyword4,String remark);
    void SendMessageForYY(String account,String openid, String templateId,String first,String keyword1,
                          String keyword2, String keyword3,String remark);
    //电子券到期提醒
    boolean SendExpiredCouponTemplate(String templateId,String token,String code,String money,String expiredTime, String openid);

    //查询模板消息列表
    List<TemplateRecord> findMessageRecord(String account,String phone,String flag,String startTime,String endTime);

    void SendExtractMessageTemplate(String openid, String goodsName, String sinceDate, String xsno, String selfRaiNo, String store, String address, String token);
}
